/**
 * !队列: 是一个先进先出的数据结构
 * JavaScript 中没有队列, 单可以用 Array 实现队列的所有功能
 */

// 队列常用操作:
// push: enqueue(入队)
// shift: dequeue(出队)
// queue[0]: 队头

// 队列的应用场景: 需要先进先出的场景
// 1. 食堂排队打饭: 食堂只留一个窗口, 学生排队打饭似春运,
//                 先进先出, 保证有序
// 2. JS异步中的任务队列: JS 是单线程, 无法同时处理异步中的并发任务.
//                      使用任务队列先后处理异步任务
// 3. 计算最近请求次数: 有新请求就入队, 3000ms前发出的请求出队 .
//                     队列的长度就是最近请求次数
const queue = []
// enqueue 入队
queue.push(1)
queue.push(2)
// dequeue 出队
const item1 = queue.shift()
const item2 = queue.shift()
